///////////////////////////////////////////////////////////////////////
// DFileSystemImage.h
//
// Wrapper for IDFileSystemImage Interface
//
// Written by Nic Wilson
//
#pragma once
#include "DFileSystemImageEvent.h"

#define RETURN_CANCEL_WRITE	0
#define RETURN_CONTINUE		1

class CDiscRecorder;

class CDFileSystemImage
{
private:
	IFileSystemImage*	m_FileSystemImage;
	HRESULT				m_hResult;
	CString				m_errorMessage;
	HWND				m_hNotificationWnd;
	

public:
	CDFileSystemImage(void);
	~CDFileSystemImage(void);
	CDFileSystemImageEvent* eventSink;
	inline	HRESULT GetHresult() {return m_hResult;}
	inline	CString GetErrorMessage() {return m_errorMessage;}

	inline	IFileSystemImage* GetInterface() {return m_FileSystemImage;}
	bool	Initialize();
	bool	CreateEvent(HWND hNotificationWnd);
	void	DeleteEvent();
	IFileSystemImage* GetFileSystemImagePtr();
protected:
	IStream*	m_streamData;
};
